<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD><TITLE>my manual page - TclOO Commands</TITLE>
<link rel="stylesheet" href="../docs.css" type="text/css" media="all">
</HEAD>
<BODY><H2><a href="../contents.htm">Tcl8.6.11/Tk8.6.11 Documentation</a> <small>&gt;</small> <a href="contents.htm">Tcl Commands</a> <small>&gt;</small> my</H2>
<H3><A HREF="../UserCmd/contents.htm">Tcl/Tk Applications</A> | <A HREF="../TclCmd/contents.htm">Tcl Commands</A> | <A HREF="../TkCmd/contents.htm">Tk Commands</A> | <A HREF="../ItclCmd/contents.htm">[incr Tcl] Package Commands</A> | <A HREF="../SqliteCmd/contents.htm">SQLite3 Package Commands</A> | <A HREF="../TdbcCmd/contents.htm">TDBC Package Commands</A> | <A HREF="../TdbcmysqlCmd/contents.htm">tdbc::mysql Package Commands</A> | <A HREF="../TdbcodbcCmd/contents.htm">tdbc::odbc Package Commands</A> | <A HREF="../TdbcpostgresCmd/contents.htm">tdbc::postgres Package Commands</A> | <A HREF="../TdbcsqliteCmd/contents.htm">tdbc::sqlite3 Package Commands</A> | <A HREF="../ThreadCmd/contents.htm">Thread Package Commands</A> | <A HREF="../TclLib/contents.htm">Tcl C API</A> | <A HREF="../TkLib/contents.htm">Tk C API</A> | <A HREF="../ItclLib/contents.htm">[incr Tcl] Package C API</A> | <A HREF="../TdbcLib/contents.htm">TDBC Package C API</A></H3>
<H3><A NAME="M2">NAME</A></H3>
my &mdash; invoke any method of current object
<H3><A NAME="M3">SYNOPSIS</A></H3>
package require TclOO<BR>
<BR>
<B>my</B><I> methodName</I> ?<I>arg ...</I>?<BR>
<H3><A NAME="M4">DESCRIPTION</A></H3>
The <B>my</B> command is used to allow methods of objects to invoke any method
of the object (or its class). In particular, the set of valid values for
<I>methodName</I> is the set of all methods supported by an object and its
superclasses, including those that are not exported. The object upon which the
method is invoked is always the one that is the current context of the method
(i.e. the object that is returned by <B><A HREF="../TclCmd/self.htm">self object</A></B>) from which the
<B>my</B> command is invoked.
<P>
Each object has its own <B>my</B> command, contained in its instance namespace.
<H3><A NAME="M5">EXAMPLES</A></H3>
This example shows basic use of <B>my</B> to use the <B>variables</B> method of
the <B><A HREF="../TclCmd/object.htm">oo::object</A></B> class, which is not publicly visible by default:
<P>
<PRE>oo::class create c {
    method count {} {
        <B>my</B> variable counter
        puts [incr counter]
    }
}
c create o
o count              <I><font size="+1">&rarr;</font> prints &quot;1&quot;</I>
o count              <I><font size="+1">&rarr;</font> prints &quot;2&quot;</I>
o count              <I><font size="+1">&rarr;</font> prints &quot;3&quot;</I></PRE>
<H3><A NAME="M6">SEE ALSO</A></H3>
<B><A HREF="../TclCmd/next.htm">next</A></B>, <B><A HREF="../TclCmd/object.htm">oo::object</A></B>, <B><A HREF="../TclCmd/self.htm">self</A></B>
<H3><A NAME="M7">KEYWORDS</A></H3>
<A href="../Keywords/M.htm#method">method</A>, <A href="../Keywords/M.htm#method visibility">method visibility</A>, <A href="../Keywords/O.htm#object">object</A>, <A href="../Keywords/P.htm#private method">private method</A>, <A href="../Keywords/P.htm#public method">public method</A>
<div class="copy">Copyright &copy; 2007 Donal K. Fellows
</div>
</BODY></HTML>
